diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-29 11:48:59 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-29 11:48:59 +0000 |
| commit | 10f90dc68dec42e9a64e081cc0dce6a484447290 (patch) | |
| tree | 5bc8bb30e03b09a602e7d414d943d0e7f24b1a0f /app/[lng]/partners/(partners)/document-list-only/layout.tsx | |
| parent | 792fb0c21136eededecf52b5b4aa1a252bdc4bfb (diff) | |
(대표님, 박서영, 최겸) document-list-only, gtc, vendorDocu, docu-list-rule
Diffstat (limited to 'app/[lng]/partners/(partners)/document-list-only/layout.tsx')
| -rw-r--r-- | app/[lng]/partners/(partners)/document-list-only/layout.tsx | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/app/[lng]/partners/(partners)/document-list-only/layout.tsx b/app/[lng]/partners/(partners)/document-list-only/layout.tsx new file mode 100644 index 00000000..8d486113 --- /dev/null +++ b/app/[lng]/partners/(partners)/document-list-only/layout.tsx @@ -0,0 +1,48 @@ + +import { cookies } from "next/headers" +import { Shell } from "@/components/shell" +import DocumentContainer from "@/components/documents/document-container" +import { getVendorProjectsAndContracts } from "@/lib/vendor-data/services" +import { getVendorDocumentLists } from "@/lib/vendor-document/service" +import VendorDocumentsClient from "@/components/documents/vendor-docs.client" +import VendorDocumentListClient from "@/components/document-lists/vendor-doc-list-client" +import { authOptions } from "@/app/api/auth/[...nextauth]/route"; +import { getServerSession } from "next-auth"; + + + +// Layout 컴포넌트는 서버 컴포넌트입니다 +export default async function VendorDocuments({ + children, +}: { + children: React.ReactNode +}) { + const session = await getServerSession(authOptions) + const vendorId = session?.user.companyId + // const vendorId = "17" + const idAsNumber = Number(vendorId) + + const projects = await getVendorProjectsAndContracts(idAsNumber); + const filteredProjects = projects.filter(v=>v.projectType === "plant") + + + // 레이아웃 설정 쿠키 가져오기 + // Next.js 15에서는 cookies()가 Promise를 반환하므로 await 사용 + const cookieStore = await cookies() + + // 이제 cookieStore.get() 메서드 사용 가능 + const layout = cookieStore.get("react-resizable-panels:layout:mail") + const collapsed = cookieStore.get("react-resizable-panels:collapsed") + + const defaultLayout = layout ? JSON.parse(layout.value) : undefined + const defaultCollapsed = collapsed ? JSON.parse(collapsed.value) : undefined + + + return ( + <Shell className="gap-2"> + <VendorDocumentListClient projects={filteredProjects}> + {children} + </VendorDocumentListClient> + </Shell> + ) +}
\ No newline at end of file |
